Applications often rely on estimation of network bandwidth to properly manage network usage. For example, real time communication software may manage network usage among different modalities such as audio, video, file and application sharing to achieve optimal end to end user experiences. The encoding rate of the different modalities can be obtained from the network bandwidth estimate. Such applications have relied on packet pair and/or packet train approaches to estimate the bandwidth of bottlenecks for a particular network path. Also, TCP (Transmission Control Protocol) deploys a congestion control algorithm in providing network transport. This TCP algorithm monitors packet loss rates and controls congestion by adjusting sending rates according to the packet loss rates.